package com.douya.pangu.core.api.sys.fegin;

import com.douya.common.pojo.vo.CommonResponseVO;
import com.douya.pangu.core.api.sys.pojo.vo.CoreUserVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import javax.validation.constraints.NotNull;
import java.util.List;

@Validated
@RequestMapping("/api/sys/user")
@FeignClient(value = "pangu-core", url = "${douya.host.pangu-core:}")
public interface CoreUserFeign {

    /**
     * 根据ID获取核心用户表
     *
     * @param id ID
     * @return 核心用户表
     */
    @GetMapping(value = "findById")
    CommonResponseVO<CoreUserVO> findById(@NotNull(message = "ID不能为空") @RequestParam("id") Long id);

    /**
     * 查找核心用户表
     *
     * @return 核心用户表列表
     */
    @GetMapping(value = "findAllUser")
    List<CoreUserVO> findAllUser();

    /**
     * 根据用户ID获取用户信息
     *
     * @param id 用户ID
     * @return 用户信息
     */
    @GetMapping(value = "userPermissionList")
    CommonResponseVO<List<String>> userPermissionList(@NotNull(message = "ID不能为空") @RequestParam("id") Long id);
}
